-   case: method_decorator_class
    main: |
      from django.views.generic.base import View
      from django.utils.decorators import method_decorator
      from django.contrib.auth.decorators import login_required
      @method_decorator(login_required, name='dispatch')
      class TestView(View): ...
      reveal_type(TestView())  # N: Revealed type is 'main.TestView'
-   case: method_decorator_function
    main: |
      from django.views.generic.base import View
      from django.utils.decorators import method_decorator
      from django.contrib.auth.decorators import login_required
      from django.http.response import HttpResponse
      from django.http.request import HttpRequest
      class TestView(View):
          @method_decorator(login_required)
          def dispatch(self, request: HttpRequest, *args, **kwargs) -> HttpResponse:
              return super().dispatch(request, *args, **kwargs)
          reveal_type(dispatch)  # N: Revealed type is 'def (self: main.TestView, request: django.http.request.HttpRequest, *args: Any, **kwargs: Any) -> django.http.response.HttpResponse'
